Skip to content

Prepare 1.7.0 release#128

Merged
anod merged 5 commits into
masterfrom
fix-notification-viewed-timestamp
Jun 2, 2026
Merged

Prepare 1.7.0 release#128
anod merged 5 commits into
masterfrom
fix-notification-viewed-timestamp

Conversation

@anod

@anod anod commented May 31, 2026

Copy link
Copy Markdown
Owner

Prepared branch for Play open testing:

  • Bumped versionCode to 17009.
  • Regenerated release baseline and startup profiles.
  • Built the signed release AAB at app\build\outputs\bundle\release\app-release.aab.
  • Addressed PR review feedback for settings list preference updates and immediate theme rebirth.

This branch also includes the Crashlytics, notification timestamp, settings/watchlist preference, and show-on-device paging fixes.

Copilot AI added 4 commits May 31, 2026 22:31
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Append installed-only apps as soon as the database page reaches its end and keep paging counts undefined when on-device items are enabled.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Bump versionCode for the next Play open-testing artifact and regenerate release baseline profiles.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 31, 2026 20:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR prepares the 1.7.0 release branch while also landing several functional fixes around watchlist preference propagation, paging determinism, notification launch semantics, and Crashlytics noise filtering. It also adds new unit/Robolectric coverage for the updated behaviors.

Changes:

  • Bump app versionCode to 17008 and add Robolectric + androidx.test:core test dependencies.
  • Rework watchlist preference handling so list config changes propagate without recreating the activity, and fix show-on-device paging behavior + deterministic ordering.
  • Improve exception filtering/logging for Crashlytics + Drive sync/upload flows, and add targeted tests for regressions.

Reviewed changes

Copilot reviewed 24 out of 26 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
gradle/libs.versions.toml Adds version catalog entries for Robolectric + androidx.test:core.
app/build.gradle.kts Bumps versionCode and wires in new unit test dependencies.
app/src/main/java/com/anod/appwatcher/watchlist/WatchListStateViewModel.kt Introduces WatchListPreferences, preference update event, list config invalidation, and preference-change state handling.
app/src/main/java/com/anod/appwatcher/watchlist/WatchListScreen.kt Keys pager/refresh behavior off listConfigChange to ensure preference changes refresh data.
app/src/main/java/com/anod/appwatcher/watchlist/WatchListPagingSource.kt Changes show-on-device loading behavior and count/key calculations; extracts on-device load into helper.
app/src/main/java/com/anod/appwatcher/watchlist/MainViewModel.kt Emits WatchListPreferences in MainViewState by observing preference key changes.
app/src/main/java/com/anod/appwatcher/watchlist/MainScreen.kt Passes preferences via MainViewState and pushes updates into the watchlist VM.
app/src/main/java/com/anod/appwatcher/preferences/SettingsViewModel.kt Removes recreate flag handling; improves Drive sync error handling; refactors list preference update events.
app/src/main/java/com/anod/appwatcher/preferences/SettingsScreen.kt Stops activity recreation path; routes list preference toggles through preference-key constants.
app/src/main/java/com/anod/appwatcher/preferences/Preferences.kt Centralizes several preference keys as constants and uses them in getters/setters.
app/src/main/java/com/anod/appwatcher/database/AppListTable.kt Makes app list ordering deterministic and switches tag filtering to EXISTS/NOT EXISTS semantics; exposes query builder for tests.
app/src/main/java/com/anod/appwatcher/CrashlyticsExceptionFilter.kt Adds centralized “should ignore” logic with bounded root-cause traversal.
app/src/main/java/com/anod/appwatcher/backup/gdrive/UploadService.kt Preserves cancellation and improves recoverable-auth logging.
app/src/main/java/com/anod/appwatcher/backup/gdrive/GDriveSync.kt Preserves cancellation to avoid wrapping it as a sync failure.
app/src/main/java/com/anod/appwatcher/AppWatcherApplication.kt Uses CrashlyticsExceptionFilter for exception suppression.
app/src/main/java/com/anod/appwatcher/AppWatcherActivity.kt Marks updates viewed when launched from notification (including onNewIntent) and adds unit-testable helper.
app/src/test/java/com/anod/appwatcher/watchlist/WatchListStateViewModelTest.kt Tests preference-change state updates and recently-installed clearing.
app/src/test/java/com/anod/appwatcher/watchlist/WatchListPagingSourceRoomTest.kt Robolectric/Room tests for show-on-device paging behavior.
app/src/test/java/com/anod/appwatcher/NotificationActivityTest.kt Adds coverage for notification launch “mark viewed” behavior.
app/src/test/java/com/anod/appwatcher/database/AppListTableRoomTest.kt Robolectric/Room coverage for tag/title filtering and duplicate tag-row behavior.
app/src/test/java/com/anod/appwatcher/database/AppListTableQueriesTest.kt Verifies query-builder SQL shape (join strategy and EXISTS semantics).
app/src/test/java/com/anod/appwatcher/CrashlyticsExceptionFilterTest.kt Covers ignore rules and bounded/cyclic root-cause traversal.
.github/copilot-instructions.md Clarifies submodule workflow specifically for lib changes.

Bump the release versionCode to 17009 and address settings review feedback by passing list switch state explicitly and restoring immediate theme rebirth.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@anod
anod merged commit e7d103e into master Jun 2, 2026
3 checks passed
@anod
anod deleted the fix-notification-viewed-timestamp branch June 2, 2026 20:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants